//
//  main.m
//  NSString预习
//
//  Created by dllo on 16/7/5.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //预习字符串创建及其方法, 找出对应以下内容的方法
        //查看头文件,或者api,他们的初始化和便利构造器基本上放在一起.
        //当我们拿到一个新的类,我们需要查看这个类的初始化和便利构造器
        /** 初始化(init) */
        NSString *str = [[NSString alloc] init];
        /** 便利构造器(string) */
        NSString *str1 = [NSString string];
        NSLog(@"%@",[NSString stringWithFormat:@"120111222qqq"]);
        /** 获取字符串长度(length) */
        NSLog(@"%ld",str.length);
        /** 获取字符串中字符(character) */
        str = @"hryhgdi";
        NSLog(@"%c",[str characterAtIndex:2]);
        /** 字符串是否相等(equal) */
        NSLog(@"%d",[str isEqualTo:str1]);
        /** 获取子串(sub) */
        NSLog(@"%@",[str substringFromIndex:2]);
        NSLog(@"%@",[str substringToIndex:2]);
        NSRange range = {2,3};
        NSLog(@"%@",[str substringWithRange:range]);
        /** 拼接字符串(append) */
        NSMutableString *str2 = [[NSMutableString alloc]initWithCapacity:7];
        str1 = @"jgjdi";
        [str2 appendString:str1];
        //如果字符串方法带有返回值,操作的不是原字符串而是生成的新的字符串,需要重新接受赋值
        str = [str stringByAppendingString:str1];
        //拼接路径
        NSString *pathStr = @"/users/local/bin";
        pathStr = [pathStr stringByAppendingPathComponent:@"name.plist"];
        //此方法自动补充"/"
        NSLog(@"%@",pathStr);
        NSLog(@"%@",str2);
        /** 替换字符串(replace) */
        [str2 replaceCharactersInRange:range withString:str1];
        /** 字符串对象转化为int类型(int) */
        NSString *str3 = @"111jkesh";
        NSLog(@"%d",[str3 intValue]);
        /** 字符串对象转化为其他数据类型, 例如double, float, BOOL等. */
        
        NSLog(@"%f",[str3 floatValue]);
        NSLog(@"%f",[str3 doubleValue]);
        NSLog(@"%d",[str3 boolValue]);
        /** 字符串全部大写(uppercase) */
        NSLog(@"%@",[str3 uppercaseString]);
        /** 字符串全部小写(lowercase) */
        NSLog(@"%@",[str3 lowercaseString]);
        /** 字符串首字母大写(capitalized) */
        NSLog(@"%@",[str3 capitalizedString]);
        /** 是否以指定字符串为前缀(prefix) */
        NSLog(@"%d",[str hasPrefix:@"www"]);
        /** 是否以指定字符串为后缀(suffix) */
        NSLog(@"%d",[str hasSuffix:@"http"]);
        //number类型
        int age = 10;
        //number类型的初始化方法
        NSNumber *ageNumber = [[NSNumber alloc]initWithInt:age];
        //number类型的构造器方法
        NSNumber *ageNumber1 = [NSNumber numberWithInt:age];
        //number类型的字面量@"",@()
        NSNumber *ageNumber2 = @(age);
        // 1.330184198501184115 处理字符串, 取出他的出生年月, 并计算出年龄(不用具体)
        // 输出格式 1985年01月18日 年龄:31岁
        NSString *ageStr = @"330184198501184115";
        NSRange birthRange = {6,4};
        NSRange birthRange1 = {10,2};
        NSRange birthRange2 = {12,2};
        NSString *birthStr = [ageStr substringWithRange:birthRange];
        int manOfage = [birthStr intValue];
        NSLog(@"%@年%@月%@日 年龄:%d岁",[ageStr substringWithRange:birthRange],[ageStr substringWithRange:birthRange1],[ageStr substringWithRange:birthRange2],2016 - manOfage);
        

    }
    return 0;
}
